package diamondServer.businesslogic.resource.loader;

import java.lang.reflect.InvocationTargetException;

import diamondServer.businesslogic.resource.Resource;



public interface ResourceLoader
{
	/**
	 * Loads and instantiates <code> Message </code> and 
	 * <code> Service </code> and constructs <code> Resource </code> from it.
	 * <p>
	 * Important: If the classes have been already loaded, the method 
	 * reloads the classes.
	 * </p>
	 * 
	 * @throws exceptions related to Reflection
	 */
	
	Resource load(String msgClassName, String serviceClassName)
			throws ClassNotFoundException, InstantiationException,
			IllegalAccessException, SecurityException, NoSuchMethodException,
			IllegalArgumentException, InvocationTargetException;
}
